/**
 * node 学习代码
 * */ 

/**
 * 1、node是开源的、跨平台的javascript的运行时环境，可以脱离浏览器之外运行V8 js引擎
 * 2、单进程运行，无需为每个请求创建新的线程。Node在标准库里边提供了一组异步的I/O原语，防止Javascript的堵塞。
 *    (进程是资源分配最小的单位，线程是CPU调度的最小的单位)
 * 3、当Node执行I/O 操作时(网络读取，访问数据库或文件系统)，Node 将再响应返回时回复操作。而不是阻塞线程浪费CPU周期等待
 *    
 * */ 
const http = require('http')
const fs = require('fs')
const server = http.createServer()
server.on('request',(req,res)=>{
    let url = req.url;
    console.log(url)
    if(url==='/'){
        res.setHeader('Content-type','text/plain;charset=utf-8')
        res.end('初始数据请出入路径，来获取对应的数据')
    }else if(url === '/data'){
        fs.readFile('./1.json',(error, data)=>{
            if(error){
                res.setHeader('Content-Type','text/plain;charset=utf-8')
                res.end('文件读取失败,请检查代码')
            }else{
                res.setHeader('Content-Type','text/html;charset=utf-8')
                res.end(data)
            }
        })
    }
})
server.listen(3000, ()=> {
    console.log(`Server running`)
})
